using System;
using System.Data;
using System.Configuration;
using System.Web.UI;
using Anthem;
using BusinessRules;
using Common;
using DataAccess;
using System.Web.UI.WebControls;

public partial class Rubros : PageBase
{
    #region IdentificadorPlnId

    public string IdentificadorPlnId
    {
        get { return (ViewState["IdentificadorPlnId"] == null ? string.Empty : ViewState["IdentificadorPlnId"].ToString()); }
        set { ViewState["IdentificadorPlnId"] = value; }
    }

    #endregion

    #region Page_Load

    protected void Page_Load(object sender, EventArgs e)
    {
        WccAcciones1.AddEnabledDuringCallBack = false;
        WccAcciones1.AddTextDuringCallBack = "Guardando... Por favor esperar!!!";
        WccAcciones1.UpdateEnabledDuringCallBack = false;
        WccAcciones1.UpdateTextDuringCallBack = "Guardando... Por favor espere!!!";

        if (Manager.IsCallBack)
        {
            Manager.RegisterClientScriptBlock(typeof(Page), "reloj", "<script>muestraReloj2();</script>");
        }
        WccAcciones1.Permisos = Permisos;
        if (!Page.IsPostBack)
        {
            cargarPlaNancionalDesarrollo();
            cargarEntidades();
            cargarTipoClasificacion();
            TraerContextItems();
            if (IdentificadorPlnId != "")
            {
                lnkModificaciones.Enabled = true;
                cargarCampos();
                WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
                WccAcciones1.AddVisible = false;
                WccAcciones1.UpdateVisible = true;
                WccAcciones1.DeleteVisible = true;

            }
            else
            {
                lnkModificaciones.Enabled = false;
                WccAcciones1.Accion = Utilidad.Acciones.Adicionar;
            }
        }
    }

    #endregion

    #region cargarTipoClasificacion

    private void cargarTipoClasificacion()
    {

        SigPlanAccion objSigPlanAccion = new SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);


        SigTipoClasificacionData objSigTipoClasificacionData = objSigPlanAccion.BuscarClasificacion();
        ddlClasificacionGasto.DataSource = objSigTipoClasificacionData;
        ddlClasificacionGasto.DataValueField = SigTipoClasificacionData.CLS_ID_FIELD;
        ddlClasificacionGasto.DataTextField = SigTipoClasificacionData.CLS_NOMBRE_FIELD;
        ddlClasificacionGasto.DataBind();
    }

    #endregion

    #region cargarPlaNancionalDesarrollo

    private void cargarPlaNancionalDesarrollo()
    {

        SigPnd objSigPnd = new SigPnd(ConfigurationManager.AppSettings["Conn"]);
        SigPndData objSigPndData = objSigPnd.Buscar();
        ddlPnd.DataSource = objSigPndData;
        ddlPnd.DataValueField = SigPndData.PND_ID_FIELD;
        ddlPnd.DataTextField = SigPndData.PND_OBJETIVO_FIELD;
        ddlPnd.DataBind();
        ddlPnd.Items.Insert(0, new ListItem("Seleccione", ""));
        ddlPnd.SelectedIndex = 0;
    }

    #endregion

    #region TraerContextItems

    private void TraerContextItems()
    {
        if (Context.Items["IdentificadorPlnId"] != null)
            IdentificadorPlnId = Context.Items["IdentificadorPlnId"].ToString();
    }

    #endregion

    #region cargarCampos

    private void cargarCampos()
    {
        BusinessRules.SigPlanAccion objBR = new BusinessRules.SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
        SigPlanAccionData objSigPlanAccionData = objBR.ConsultarPnlId(Convert.ToInt32(IdentificadorPlnId));
        try
        {
            if (objSigPlanAccionData != null)
            {
                DataRow objRow = objSigPlanAccionData.Rows[0];
                //IDENTIFICAR SI PERTENECE A UN GRUPO O SI PERTENECE A UNA DEPENDENCIA
                string strDependenciaHijo;
                string strDependenciaPadre;
                string strDependenciaAbuelo;
                strDependenciaHijo = objRow[SigPlanAccionData.DEP_ID_FIELD].ToString();
                strDependenciaPadre = objRow[SigPlanAccionData.DEP_ID_PADRE_FIELD].ToString();
                strDependenciaPadre = strDependenciaPadre + strDependenciaPadre;
                ddlEntidad.SelectedValue = strDependenciaPadre;
                filtrarPorEntidad();
                if (ddlEntidad.SelectedValue != "0")
                {
                    ddlDependencias.SelectedValue = strDependenciaHijo;
                    cargarGrupos();
                }

                if (ddlEntidad.SelectedValue == "0")
                {

                    //Consultar quien es el Abuelo
                    BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
                    BasDependenciaData objBasDependenciaData = objBasDependencia.ConsultarPorDepID(strDependenciaPadre);
                    if (objBasDependenciaData.Rows.Count > 0)
                    {
                        strDependenciaAbuelo =
                            objBasDependenciaData.Rows[0][BasDependenciaData.DEP_ID_PADRE_FIELD].ToString();
                        strDependenciaAbuelo = strDependenciaAbuelo + strDependenciaAbuelo;

                        ddlEntidad.SelectedValue = strDependenciaAbuelo;
                        filtrarPorEntidad();
                        ddlDependencias.SelectedValue = strDependenciaPadre;
                        cargarGrupos();
                        ddlGrupos.SelectedValue = strDependenciaHijo;
                    }


                }


                ddlClasificacionGasto.SelectedValue = objRow[SigPlanAccionData.CLS_ID_FIELD].ToString();
                ddlAno.SelectedValue = objRow[SigPlanAccionData.PLN_ANO_FIELD].ToString();
                txtNombre.Text = objRow[SigPlanAccionData.PLN_NOMBRE_FIELD].ToString();
                txtCodigoBpin.Text = objRow[SigPlanAccionData.PLN_CODIGO_BPIN_FIELD].ToString();
                txtCodigoPresupuestal.Text = objRow[SigPlanAccionData.PLN_CODIGO_PRESUPUESTAL_FIELD].ToString();
                decimal decValor = 0;
                if (objRow[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD] != null && objRow[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD].ToString() != "")
                {
                    decValor = Convert.ToDecimal(objRow[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD].ToString());
                    txtValorApropiacion.Text = decValor.ToString("C");
                    
                }
                else
                {
                    SigPlanAccionModificacionData  objSigPlanAccionModificacionData = objBR.ConsultarPlanAccionModificacionesValorPlnid(Convert.ToDecimal(IdentificadorPlnId));
                    if (objSigPlanAccionModificacionData !=  null)
                    {
                        if (objSigPlanAccionModificacionData.Rows[0][SigPlanAccionModificacionData.PLM_VALOR_FIELD].ToString() != "")
                        {
                            decValor = Convert.ToDecimal(objSigPlanAccionModificacionData.Rows[0][SigPlanAccionModificacionData.PLM_VALOR_FIELD].ToString());
                            txtValorApropiacion.Text = decValor.ToString("C");    
                        }
                        else
                        {
                            decValor = 0;
                            txtValorApropiacion.Text = decValor.ToString("C");  
                        }
                        
                    }
                }
                
                txtobjetivo.Text = objRow[SigPlanAccionData.PLN_OBJETIVO_FIELD].ToString();
                txtDescripcion.Text = objRow[SigPlanAccionData.PLN_DESCRIPCION_FIELD].ToString();
                txtProblema.Text = objRow[SigPlanAccionData.PLN_PROBLEMA_FIELD].ToString();
                ddlPnd.SelectedValue = objRow[SigPlanAccionData.PND_ID_FIELD].ToString();
                cargarCamposPnd(ddlPnd.SelectedValue);
                if (objRow[SigPlanAccionData.PLN_FECHA_FIELD] != DBNull.Value)
                    clFechaNacimiento.SelectedDate = Convert.ToDateTime(objRow[SigPlanAccionData.PLN_FECHA_FIELD]);

            }
        }
        catch (Exception ex)
        {

            lblMensaje.CssClass = "error";
            lblMensaje.Visible = true;
            lblMensaje.Text = Utilidad.TraerMensaje("gmsgErrorGeneral");
        }
    }

    #endregion

    #region btnRegresar_Click

    protected void btnRegresar_Click(object sender, ImageClickEventArgs e)
    {
        crearContextItems();
        Server.Transfer("RubrosListado.aspx?SSM_ID=18", true);
    }

    #endregion

    #region crearContextItems

    private void crearContextItems()
    {
        try
        {
            Context.Items["IdentificadorPlnId"] = IdentificadorPlnId;
        }
        catch (Exception ex)
        {
            lblMensaje.Text = ex.ToString();
        }
    }

    #endregion

    #region WccAcciones1_Add_OnClick

    protected void WccAcciones1_Add_OnClick(object sender, ImageClickEventArgs e)
    {
        Adcionar();
    }

    #endregion

    #region Adcionar

    private void Adcionar()
    {
        SigPlanAccionData objDS = new SigPlanAccionData();
        try
        {
            DataRow objRow = objDS.NewRow();
            //objRow[SigPlanAccionData.PLN_ID_FIELD] = IdentificadorPlnId;
            objRow[SigPlanAccionData.PLN_NOMBRE_FIELD] = txtNombre.Text.Trim();
            objRow[SigPlanAccionData.PLN_CODIGO_BPIN_FIELD] = txtCodigoBpin.Text;
            objRow[SigPlanAccionData.PLN_CODIGO_PRESUPUESTAL_FIELD] = txtCodigoPresupuestal.Text;
            //objRow[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD] = txtValorApropiacion.Text;
            objRow[SigPlanAccionData.PLN_OBJETIVO_FIELD] = txtobjetivo.Text;
            objRow[SigPlanAccionData.PLN_DESCRIPCION_FIELD] = txtDescripcion.Text;
            objRow[SigPlanAccionData.PLN_PROBLEMA_FIELD] = txtProblema.Text;
            if (ddlGrupos.SelectedValue != "0")
            {
                objRow[SigPlanAccionData.DEP_ID_FIELD] = ddlGrupos.SelectedValue;
            }
            else if (ddlDependencias.SelectedValue != "")
            {
                objRow[SigPlanAccionData.DEP_ID_FIELD] = ddlDependencias.SelectedValue;
            }
            objRow[SigPlanAccionData.CLS_ID_FIELD] = ddlClasificacionGasto.SelectedValue;
            objRow[SigPlanAccionData.PLN_ANO_FIELD] = ddlAno.SelectedValue;
            objRow[SigPlanAccionData.PND_ID_FIELD] = ddlPnd.SelectedValue;
            objDS.Add(objRow);
            SigPlanAccion objBR = new SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
            objBR.AdicionarRubro(objDS);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensaje);
            WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
            WccAcciones1.AddVisible = false;
            WccAcciones1.UpdateVisible = true;
            WccAcciones1.DeleteVisible = true;
        }
        catch (Exception objEx)
        {
            //ExceptionManager.Publish(objEx);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Error, Utilidad.TraerMensaje("gmsgErrorGeneral"), lblMensaje);
        }

        //AdmUsuariosData objDS = new AdmUsuariosData();
        //int intPerfel = 0;
        //int intUsuario = 0;
        //try
        //{
        //    DataRow objRow = objDS.NewRow();
        //    objRow[AdmUsuariosData.USU_TIPO_FIELD] = "R";
        //    objRow[AdmUsuariosData.USU_NOMBRE_FIELD] = txtNombre.Text.Trim();
        //    objRow[AdmUsuariosData.USU_USUARIO_FIELD] = txtUsuario.Text.Trim();
        //    objRow[AdmUsuariosData.USU_CARGO_FIELD] = txtCargo.Text;
        //    objRow[AdmUsuariosData.USU_DIRECCION_FIELD] = txtDireccion.Text;
        //    objRow[AdmUsuariosData.USU_TELEFONO_FIELD] = txtTelefono.Text;
        //    objRow[AdmUsuariosData.USU_CORREO_ELECTRONICO_FIELD] = txtCorreoE.Text;
        //    objRow[AdmUsuariosData.USU_DIAS_EXPIRACION_FIELD] = int.Parse(txtDiasExpiracion.Text);
        //    objRow[AdmUsuariosData.USU_CLAVE_FIELD] = txtClave.Text;
        //    objRow[AdmUsuariosData.USU_CAMBIO_CLAVE_FIELD] = chkCambioClave.Checked ? ApplicationConfiguration.SI : ApplicationConfiguration.NO;

        //    objRow[AdmUsuariosData.USU_ESTADO_FIELD] = dlpEstadoUsuario.SelectedValue;

        //    objRow[AdmUsuariosData.USU_GENERO_FIELD] = rblGenero.SelectedValue;
        //    objRow[AdmUsuariosData.USU_FECHA_NACIMIENTO_FIELD] = clFechaNacimiento.SelectedDate;
        //    objRow[AdmUsuariosData.ZON_ID_FIELD] = ddlMunicipiosAnthem.SelectedValue;
        //    objDS.Add(objRow);
        //    lblMensaje.Visible = true;
        //    if (ddlPerfiles.SelectedValue != "")
        //        intPerfel = Convert.ToInt32(ddlPerfiles.SelectedValueInt);

        //    BusinessRules.Usuarios objBR = new BusinessRules.Usuarios(ConfigurationManager.AppSettings["Conn"]);

        //    switch (objBR.AdicionarUsuariosConTransacciones(objDS, ref intUsuario, intPerfel))
        //    {
        //        case 0:
        //            lblMensaje.CssClass = "aviso";
        //            lblMensaje.Visible = true;
        //            //lblMensaje.Text = "El correo electronico ya existe";//
        //            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Aviso, Utilidad.TraerMensaje("gmsgExisteCorreoElectronico", txtCorreoE.Text), lblMensaje);
        //            break;
        //        case 1:
        //            //lblMensaje.CssClass = "mensaje";
        //            lblMensaje.Visible = true;

        //            //lblMensaje.Text = "Registro almacenado exitosamente";//
        //            //Utilidad.TraerMensaje("gmsgExitoGuardar");
        //            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensaje);
        //            //LimpiarCampos();
        //            txtUsuario.Enabled = false;
        //            WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
        //            WccAcciones1.AddVisible = false;
        //            WccAcciones1.UpdateVisible = true;
        //            WccAcciones1.DeleteVisible = true;
        //            IdentificadorUsuId = intUsuario.ToString();
        //            break;
        //        case -1:
        //            lblMensaje.CssClass = "aviso";
        //            lblMensaje.Visible = true;
        //            //lblMensaje.Text = "El usuario ya existe"; //
        //            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Aviso, Utilidad.TraerMensaje("gmsgExisteLogin", txtUsuario.Text), lblMensaje);
        //            break;
        //    }
        //}
        //catch (Exception objEx)
        //{
        //    //ExceptionManager.Publish(objEx);
        //    //lblMensaje.CssClass = "error";
        //    //lblMensaje.Visible = true;
        //    lblMensaje.Text = objEx.Message;//Utilidad.TraerMensaje("gmsgErrorGeneral");
        //}
    }

    #endregion

    #region Actualizar

    private void Actualizar()
    {
        SigPlanAccionData objDS = new SigPlanAccionData();
        try
        {
            DataRow objRow = objDS.NewRow();
            objRow[SigPlanAccionData.PLN_ID_FIELD] = IdentificadorPlnId;
            objRow[SigPlanAccionData.PLN_NOMBRE_FIELD] = txtNombre.Text.Trim();
            objRow[SigPlanAccionData.PLN_CODIGO_BPIN_FIELD] = txtCodigoBpin.Text;
            objRow[SigPlanAccionData.PLN_CODIGO_PRESUPUESTAL_FIELD] = txtCodigoPresupuestal.Text;
            //objRow[SigPlanAccionData.PLN_VALOR_APROPIACION_FIELD] = txtValorApropiacion.Text;
            objRow[SigPlanAccionData.PLN_OBJETIVO_FIELD] = txtobjetivo.Text;
            objRow[SigPlanAccionData.PLN_DESCRIPCION_FIELD] = txtDescripcion.Text;
            objRow[SigPlanAccionData.PLN_PROBLEMA_FIELD] = txtProblema.Text;
            if (ddlGrupos.SelectedValue != "0")
            {
                objRow[SigPlanAccionData.DEP_ID_FIELD] = ddlGrupos.SelectedValue;
            }
            else if (ddlDependencias.SelectedValue != "")
            {
                objRow[SigPlanAccionData.DEP_ID_FIELD] = ddlDependencias.SelectedValue;
            }
            objRow[SigPlanAccionData.CLS_ID_FIELD] = ddlClasificacionGasto.SelectedValue;
            objRow[SigPlanAccionData.PLN_ANO_FIELD] = ddlAno.SelectedValue;
            objRow[SigPlanAccionData.PND_ID_FIELD] = ddlPnd.SelectedValue;
            objDS.Add(objRow);
            SigPlanAccion objBR = new SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
            objBR.ActualizarRubro(objDS);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensaje);
            WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
            WccAcciones1.AddVisible = false;
            WccAcciones1.UpdateVisible = true;
            WccAcciones1.DeleteVisible = true;
            lnkModificaciones.Enabled = true;
            lnkModificaciones.AutoUpdateAfterCallBack = true;
        }
        catch (Exception objEx)
        {
            //ExceptionManager.Publish(objEx);
            lblMensaje.Visible = true;
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Error, Utilidad.TraerMensaje("gmsgErrorGeneral"), lblMensaje);
        }
    }

    #endregion

    #region LimpiarCampos

    protected new void LimpiarCampos()
    {
        txtNombre.Text = "";
        txtCodigoBpin.Text = "";
        txtCodigoPresupuestal.Text = "";
        txtCodigoPresupuestal.Text = "";
        txtobjetivo.Text = "";
        txtDescripcion.Text = "";
        txtProblema.Text = "";
        txtValorApropiacion.Text = "";

        txtNombre.AutoUpdateAfterCallBack = true;
        txtCodigoBpin.AutoUpdateAfterCallBack = true;
        txtCodigoPresupuestal.AutoUpdateAfterCallBack = true;
        txtCodigoPresupuestal.AutoUpdateAfterCallBack = true;
        txtobjetivo.AutoUpdateAfterCallBack = true;
        txtDescripcion.AutoUpdateAfterCallBack = true;
        txtProblema.AutoUpdateAfterCallBack = true;
        txtValorApropiacion.AutoUpdateAfterCallBack = true;
    }

    #endregion

    #region WccAcciones1_Delete_OnClick

    protected void WccAcciones1_Delete_OnClick(object sender, ImageClickEventArgs e)
    {
        try
        {
            string[] strIDs = new string[1];
            strIDs[0] = IdentificadorPlnId;
            BusinessRules.SigPlanAccion objSigPlanAccion = new BusinessRules.SigPlanAccion(ConfigurationManager.AppSettings["Conn"]);
            if (objSigPlanAccion.EliminarRubrosContransacciones(strIDs) != 0)
            {
                LimpiarCampos();
                WccAcciones1.Accion = Utilidad.Acciones.Adicionar;
                WccAcciones1.AddVisible = true;
                WccAcciones1.UpdateVisible = false;
                WccAcciones1.DeleteVisible = false;
                lblMensaje.Visible = true;
                Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgEliminarRegistrosExitoso"), lblMensaje);
            }
        }

        catch (Exception ex)
        {
            lblMensaje.CssClass = "error";
            lblMensaje.Visible = true;
            lblMensaje.Text = Utilidad.TraerMensaje("gmsgErrorGeneral");
        }

    }

    #endregion

    #region WccAcciones1_Update_OnClick

    protected void WccAcciones1_Update_OnClick(object sender, ImageClickEventArgs e)
    {
        Actualizar();
    }

    #endregion

    #region ddlEntidad_SelectedIndexChanged

    protected void ddlEntidad_SelectedIndexChanged(object sender, EventArgs e)
    {
        filtrarPorEntidad();
    }

    #endregion

    #region filtrarPorEntidad

    private void filtrarPorEntidad()
    {
        if (ddlEntidad.SelectedItem.Value != "0")
        {
            cargarDependencias();
        }
        else
        {
            limpiarGrupos();
            limpiarDependencias();
            //    SigPlanAccionDataTable = null;
            //    cargarInversionFuncionamiento();
        }
    }

    #endregion

    #region cargarDependencias

    private void cargarDependencias()
    {
        if (ddlEntidad.SelectedIndex != 0)
        {
            string strIdEntidad = ddlEntidad.SelectedItem.Value;

            BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
            if (strIdEntidad.Length > 3)
                strIdEntidad = strIdEntidad.Remove(0, 2);

            BasDependenciaData objBasDependenciaData = objBasDependencia.ConsultarPorEntidad(strIdEntidad);
            ddlDependencias.DataSource = objBasDependenciaData;
            ddlDependencias.DataValueField = BasDependenciaData.DEP_ID_FIELD;
            ddlDependencias.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
            ddlDependencias.DataBind();
            ddlDependencias.Items.Insert(0, new ListItem("Seleccione", ""));
            ddlDependencias.SelectedIndex = 0;
        }

    }

    #endregion

    #region ddlDependencias_SelectedIndexChanged1

    protected void ddlDependencias_SelectedIndexChanged1(object sender, EventArgs e)
    {
        cargarGrupos();
        if (ddlDependencias.SelectedItem.Value == "")

            //cargarDependenciasPorEntidad();
            limpiarGrupos();

    }

    #endregion

    #region cargarGrupos

    private void cargarGrupos()
    {
        if (ddlDependencias.SelectedIndex != 0)
        {
            string strIdEntidad = ddlDependencias.SelectedItem.Value;

            BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
            if (strIdEntidad.Length > 5)
                strIdEntidad = strIdEntidad.Remove(0, 3);

            BasDependenciaData objBasDependenciaData = objBasDependencia.ConsultarPorEntidad(strIdEntidad);
            ddlGrupos.DataSource = objBasDependenciaData;
            ddlGrupos.DataValueField = BasDependenciaData.DEP_ID_FIELD;
            ddlGrupos.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
            ddlGrupos.DataBind();
            ddlGrupos.Items.Insert(0, new ListItem("Todos", "0"));
            ddlGrupos.SelectedIndex = 0;
        }

    }

    #endregion

    #region limpiarGrupos

    private void limpiarGrupos()
    {
        BasDependenciaData objBasDependenciaData = new BasDependenciaData();
        ddlGrupos.DataSource = objBasDependenciaData;
        ddlGrupos.DataValueField = BasDependenciaData.DEP_ID_FIELD;
        ddlGrupos.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
        ddlGrupos.DataBind();
        ddlGrupos.Items.Insert(0, new ListItem("Todos", "0"));
        ddlGrupos.SelectedIndex = 0;
    }

    #endregion

    #region limpiarDependencias

    private void limpiarDependencias()
    {

        BasDependenciaData objBasDependenciaData = new BasDependenciaData();
        ddlDependencias.DataSource = objBasDependenciaData;
        ddlDependencias.DataValueField = BasDependenciaData.DEP_ID_FIELD;
        ddlDependencias.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
        ddlDependencias.DataBind();
        ddlDependencias.Items.Insert(0, new ListItem("Seleccione", ""));
        ddlDependencias.SelectedIndex = 0;
    }

    #endregion

    #region cargarEntidades

    private void cargarEntidades()
    {
        BasDependencia objBasDependencia = new BasDependencia(ConfigurationManager.AppSettings["Conn"]);
        BasDependenciaData objBasDependenciaData = objBasDependencia.Buscar();
        ddlEntidad.DataSource = objBasDependenciaData;
        ddlEntidad.DataValueField = BasDependenciaData.DEP_ID_FIELD;
        ddlEntidad.DataTextField = BasDependenciaData.DEP_NOMBRE_FIELD;
        ddlEntidad.DataBind();
        ddlEntidad.Items.Insert(0, new ListItem("Presupuesto sector", "0"));
        ddlEntidad.SelectedIndex = 0;
    }

    #endregion

    #region ddlPnd_SelectedIndexChanged

    protected void ddlPnd_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlPnd.SelectedValue != "")
        {

            cargarCamposPnd(ddlPnd.SelectedValue);
        }
    }

    #endregion

    #region cargarCamposPnd

    private void cargarCamposPnd(string strPndId)
    {

        SigPnd objSigPnd = new SigPnd(ConfigurationManager.AppSettings["Conn"]);
        SigPndData objSigPndData = objSigPnd.ConsultarPndId(Convert.ToDecimal(strPndId));
        if (objSigPndData != null)
        {
            DataRow objRow = objSigPndData.Rows[0];
            txtEstrategia.Text = objRow[SigPndData.PND_ESTRATEGIA_FIELD].ToString();
            txtSubprograma.Text = objRow[SigPndData.PND_SUBPROGRAMA_FIELD].ToString();
            txtEstrategia.AutoUpdateAfterCallBack = true;
            txtSubprograma.AutoUpdateAfterCallBack = true;
        }
    }

    #endregion

    #region lnkModificaciones_Click

    protected void lnkModificaciones_Click(object sender, EventArgs e)
    {
        crearContextItems();
        Server.Transfer("RubrosModificacionesListado.aspx?SSM_ID=18", true);
    }

    #endregion

}
